#ifndef RAY_H
#define RAY_H

#include "src/math/vector3d.h"

class Object;

class Ray{
	public:
		Ray(const Vector3D& = Vector3D(), const Vector3D& = Vector3D(), Object * = NULL);
		~Ray();

		Object *isInsideOf() const {return inside;};
		const Vector3D &getOrigin() const {return origin;};
		const Vector3D &getDirection() const {return direction;};

		void setInside(Object *_o) {inside = _o;};
		void setOrigin(const Vector3D &_o) {origin = _o;};
		void setDirection(const Vector3D &_d) {direction = _d;};

	private:
		Vector3D origin;
		Vector3D direction;

		Object *inside;
};

#endif

